Realni tip je podskup skupa realnih brojeva koji se mogu registrovati u konkretnoj verziji programskog jezika. Nad realnim operandima se mogu izvoditi sledeće operacije koje daju realan rezultat: *, /, +, -
Dozvoljeno je da jedan operand u ovim operacijama bude ceo broj.
Izraz sastavljen od celobrojnih i realnih promenljivih ili vrednosti, daje realnu vrednost.
Treba imati na umu da se realni brojevi u računaru ne registruju apsolutno tačno, tako da izvođenje operacija nad približnim vrednostima može dati neočekivane rezultate.
Npr. (x/y)*y = x ne mora biti tačno u računarskoj (numeričkoj) aritmetici.
0.9999999 <> 1
Nad realnim argumentima se mogu primeniti funkcije koje daju realne vrednosti:
abs, sqr, sin, cos, arctan, ln, exp, sqrt.
Često se u radu sa realnim brojevima javlja potreba sa korišćenjem funkcija round, trunc i frac. Funkcije round i trunc vraćaju celobrojne vrednosti, dok funkcija frac vraća realnu vrednost.
funkcija trunc odseca decimalni deo realnog broja i vraća samo njegov ceo deo:
trunc(-4.1) = -4
Funkcija round zaokružuje realan broj i tako dobijeni broj vraća. Može se definisati preko funkcije trunc:
round(x) = trunc(x+0.5) za x>=0 i trunc(x-0.5) za x<0
round (5.6)=6
round (-7.6) = -8
round(-8.5)= -9
frac (x) vraća razlomljeni deo od x.
frac(3.75) =0.75
realni tipovi
Tip, domen, broj značajnih cifara , broj bajtova
real │ 2.9e-39..1.7e38 │ 11-12 │ 6
single │ 1.5e-45..3.4e38 │ 7-8 │ 4
double │ 5.0e-324..1.7e308 │ 15-16 │ 8
extended │ 3.4e-4932..1.1e4932 │ 19-20 │ 10
comp │ -9.2e18..9.2e18 │ 19-20 │ 8
procedure i funkcije
O procedurama i funkcijama kasnije će biti mnogo reči, međutim već sada je potrebno znati nešto o njima.
Iz matematike su nam poznate neke funkcije, npr. trigonometrijske funkcije sin (x) i cos (x). Za primer ćemo uzeti funkciju sin(x).
Ukoliko napišemo y = sin (x) možemo videti klasičan matematički zapis. Ovaj zapis je veoma sličan zapisu u Paskalu, ali izrazi (reči) koje koristimo za opis ovog zapisa mogu nam se učiniti komplikovanim.
1. y:= sin (x) je pravi zapis u Paskalu i to je izraz dodele, što znači da se prvo izračunava vrednost na desnoj strani sin (x) , a zatim se dodeljuje levoj strani (vrednost će biti sačuvana u promenljivoj y). Dakle pošto se izračunavanje dešava u vremenu, izračunavanje zamišljamo da se izvršava na sledeći način: pozvali smo funkciju sinus da izvrši izračunavanje na konkretnim brojem koji se nalazi u promenljivoj x. Nakon izvršavanja funkcija vraća vrednost koja će biti sačuvana u promenljivoj y na levoj strani.
Drugačije rečeno : ne postoji bolji prevod za engleski glagol returns (Returns the sine of the argument.)
2. u zapisu sin (x) oznaku x nazivamo argument , a u programiranju ćemo koristiti i izraz parametar. Funkcija može imati i više argumenata npr. f(x,y) = x+y . Za ovu funkciju čije je ime f kažemo da ima dva argumenta. Kasnije ćemo videti kako možemo ovakve funkcije realizovati u Paskalu.
3. Za sada je potrebno znati da funkcija koja ne vraća vrednost naziva se procedura u Paskalu.
primeri :
read (a,b) je procedura i ima u ovom slučaju dva argumenta.
sin (x) je funkcija i ne može biti zapisana samo ovako u programu. Pošto vraća neku vrednost ta vrednost mora biti nekako upotrebljena npr.
- sačuvana: y:=sin(x) ili
- upotrebljena u nekom izrazu (sin(x) < 0.5) ovaj izraz vraća true ili false u zavisnosti od konkretne vrednosti koja je u promenljivoj x.